package com.anos.smsfun.controller;

/**
 * Hỗ trợ callback kết quả của một request dữ liệu, có thể lấy từ cache và từ
 * server
 * 
 */
public abstract class DataRequestCallback<E> {
	private E mResult;

	void setResult(E result) {
		mResult = result;
	}

	/**
	 * Callback trả về kết quả
	 * 
	 * @param result
	 *            kết quả trả về của request, có thể từ cache hoặc từ server
	 * @param waiting
	 *            nếu là true nghĩa là vẫn còn dữ liệu trả về cập nhật thêm lầm
	 *            nữa, false là dữ liệu cuối
	 */
	public abstract void onResult(E result, boolean continueWaiting);

	public void onResult(boolean continueWaiting) {
		onResult(mResult, continueWaiting);
	}

}
